package cadastros;

import interfaceRepositorio.IRepositorioDias;

import java.util.Collection;

import repositorios.RepositorioDias;
import entidades.Dia;
import excecoes.FalhaPersistenciaException;
import excecoes.ObjetoInexistenteException;
import excecoes.ObjetoNuloException;

public class CadastroDias {

	private IRepositorioDias repositorio;

	public CadastroDias() {
		repositorio = new RepositorioDias();
	}

	public Collection<Dia> consultarDias()
	throws FalhaPersistenciaException{
		return repositorio.consultarDias();
	}

	public Dia consultarDiaPorString(String dia)
	throws ObjetoInexistenteException, FalhaPersistenciaException, ObjetoNuloException{
		Dia retorno = null;
		if(dia != null){
			retorno = repositorio.consultarDiaPorString(dia);
			if(retorno == null){
				throw new ObjetoInexistenteException("Erro ao consultar dia.\nDia inexistente.");
			}
		}
		else{
			throw new ObjetoNuloException("Erro ao consultar dia.\nDia nulo.");
		}
		return retorno;
	}

	public Dia consultarDiaPorId(int id)
	throws ObjetoInexistenteException, FalhaPersistenciaException{
		Dia retorno = repositorio.consultarDiaPorId(id);

		if (retorno == null){
			throw new ObjetoInexistenteException("Erro ao consultar dia.\nDia inexistente.");
		}
		return retorno;
	}

}
